home *** CD-ROM | disk | FTP | other *** search
-
-
-
- CJPEG(1) CJPEG(1)
-
-
- NNAAMMEE
- cjpeg - compress an image file to a JPEG file
-
- SSYYNNOOPPSSIISS
- ccjjppeegg [ _o_p_t_i_o_n_s ] [ _f_i_l_e_n_a_m_e ]
-
-
- DDEESSCCRRIIPPTTIIOONN
- ccjjppeegg compresses the named image file, or the standard
- input if no file is named, and produces a JPEG/JFIF file
- on the standard output. The currently supported input
- file formats are: PPM (PBMPLUS color format), PGM (PBMPLUS
- gray-scale format), BMP, GIF, Targa, and RLE (Utah Raster
- Toolkit format). (RLE is supported only if the URT
- library is available.)
-
- OOPPTTIIOONNSS
- All switch names may be abbreviated; for example,
- --ggrraayyssccaallee may be written --ggrraayy or --ggrr. Most of the
- "basic" switches can be abbreviated to as little as one
- letter. Upper and lower case are equivalent (thus --GGIIFF is
- the same as --ggiiff). British spellings are also accepted
- (e.g., --ggrreeyyssccaallee), though for brevity these are not men
- tioned below.
-
- The basic switches are:
-
- --qquuaalliittyy _N
- Scale quantization tables to adjust image quality.
- Quality is 0 (worst) to 100 (best); default is 75.
- (See below for more info.)
-
- --ggrraayyssccaallee
- Create monochrome JPEG file from color input. Be
- sure to use this switch when compressing a
- grayscale GIF file, because ccjjppeegg isn't bright
- enough to notice whether a GIF file uses only
- shades of gray. By saying --ggrraayyssccaallee, you'll get a
- smaller JPEG file that takes less time to process.
-
- --ooppttiimmiizzee
- Perform optimization of entropy encoding parame
- ters. Without this, default encoding parameters
- are used. --ooppttiimmiizzee usually makes the JPEG file a
- little smaller, but ccjjppeegg runs somewhat slower and
- needs much more memory. Image quality and speed of
- decompression are unaffected by --ooppttiimmiizzee.
-
- --ttaarrggaa Input file is Targa format. Targa files that con
- tain an "identification" field will not be automat
- ically recognized by ccjjppeegg; for such files you must
- specify --ttaarrggaa to make ccjjppeegg treat the input as
- Targa format. For most Targa files, you won't need
- this switch.
-
-
-
- 30 August 1994 1
-
-
-
-
-
- CJPEG(1) CJPEG(1)
-
-
- The --qquuaalliittyy switch lets you trade off compressed file
- size against quality of the reconstructed image: the
- higher the quality setting, the larger the JPEG file, and
- the closer the output image will be to the original input.
- Normally you want to use the lowest quality setting
- (smallest file) that decompresses into something visually
- indistinguishable from the original image. For this pur
- pose the quality setting should be between 50 and 95; the
- default of 75 is often about right. If you see defects at
- --qquuaalliittyy 75, then go up 5 or 10 counts at a time until you
- are happy with the output image. (The optimal setting
- will vary from one image to another.)
-
- --qquuaalliittyy 100 will generate a quantization table of all
- 1's, eliminating loss in the quantization step (but there
- is still information loss in subsampling, as well as
- roundoff error). This setting is mainly of interest for
- experimental purposes. Quality values above about 95 are
- nnoott recommended for normal use; the compressed file size
- goes up dramatically for hardly any gain in output image
- quality.
-
- In the other direction, quality values below 50 will pro
- duce very small files of low image quality. Settings
- around 5 to 10 might be useful in preparing an index of a
- large image library, for example. Try --qquuaalliittyy 2 (or so)
- for some amusing Cubist effects. (Note: quality values
- below about 25 generate 2-byte quantization tables, which
- are considered optional in the JPEG standard. ccjjppeegg emits
- a warning message when you give such a quality value,
- because some commercial JPEG programs may be unable to
- decode the resulting file. Use --bbaasseelliinnee if you need to
- ensure compatibility at low quality values.)
-
- Switches for advanced users:
-
- --ddcctt iinntt
- Use integer DCT method (default).
-
- --ddcctt ffaasstt
- Use fast integer DCT (less accurate).
-
- --ddcctt ffllooaatt
- Use floating-point DCT method. The floating-point
- method is the most accurate, but will be the slow
- est unless your machine has very fast floating-
- point hardware. Also note that results of the
- floating-point method may vary slightly across
- machines, while the integer methods should give the
- same results everywhere. The fast integer method
- is much less accurate than the other two.
-
- --rreessttaarrtt _N
- Emit a JPEG restart marker every N MCU rows, or
-
-
-
- 30 August 1994 2
-
-
-
-
-
- CJPEG(1) CJPEG(1)
-
-
- every N MCU blocks if "B" is attached to the num
- ber. --rreessttaarrtt 00 (the default) means no restart
- markers.
-
- --ssmmooootthh _N
- Smooth the input image to eliminate dithering
- noise. N, ranging from 1 to 100, indicates the
- strength of smoothing. 0 (the default) means no
- smoothing.
-
- --mmaaxxmmeemmoorryy _N
- Set limit for amount of memory to use in processing
- large images. Value is in thousands of bytes, or
- millions of bytes if "M" is attached to the number.
- For example, --mmaaxx 44mm selects 4000000 bytes. If
- more space is needed, temporary files will be used.
-
- --oouuttffiillee _n_a_m_e
- Send output image to the named file, not to stan
- dard output.
-
- --vveerrbboossee
- Enable debug printout. More --vv's give more output.
- Also, version information is printed at startup.
-
- --ddeebbuugg Same as --vveerrbboossee.
-
- The --rreessttaarrtt option inserts extra markers that allow a
- JPEG decoder to resynchronize after a transmission error.
- Without restart markers, any damage to a compressed file
- will usually ruin the image from the point of the error to
- the end of the image; with restart markers, the damage is
- usually confined to the portion of the image up to the
- next restart marker. Of course, the restart markers
- occupy extra space. We recommend --rreessttaarrtt 11 for images
- that will be transmitted across unreliable networks such
- as Usenet.
-
- The --ssmmooootthh option filters the input to eliminate fine-
- scale noise. This is often useful when converting GIF
- files to JPEG: a moderate smoothing factor of 10 to 50
- gets rid of dithering patterns in the input file, result
- ing in a smaller JPEG file and a better-looking image.
- Too large a smoothing factor will visibly blur the image,
- however.
-
- Switches for wizards:
-
- --aarriitthhmmeettiicc
- Use arithmetic coding rather than Huffman coding.
- (Not currently supported for legal reasons.)
-
- --bbaasseelliinnee
- Force a baseline JPEG file to be generated. This
-
-
-
- 30 August 1994 3
-
-
-
-
-
- CJPEG(1) CJPEG(1)
-
-
- clamps quantization values to 8 bits even at low
- quality settings.
-
- --nnooiinntteerrlleeaavvee
- Generate noninterleaved JPEG file (not yet sup
- ported).
-
- --qqttaabblleess _f_i_l_e
- Use the quantization tables given in the specified
- file. The file should contain one to four tables
- (64 values each) as plain text. Comments preceded
- by '#' may be included in the file. The tables are
- implicitly numbered 0,1,etc. If --qquuaalliittyy _N is also
- specified, the values in the file are scaled
- according to ccjjppeegg's quality scaling curve.
-
- --qqsslloottss _N_[_,_._._._]
- Select which quantization table to use for each
- color component. By default, table 0 is used for
- luminance and table 1 for chrominance components.
-
- --ssaammppllee _H_x_V_[_,_._._._]
- Set JPEG sampling factors. If you specify fewer
- H/V pairs than there are components, the remaining
- components are set to 1x1 sampling. The default
- setting is equivalent to --ssaammppllee 22xx22.
-
- The "wizard" switches are intended for experimentation
- with JPEG. If you don't know what you are doing, ddoonn''tt
- uussee tthheemm. You can easily produce files with worse image
- quality and/or poorer compression than you'll get from the
- default settings. Furthermore, these switches should not
- be used when making files intended for general use,
- because not all JPEG implementations will support unusual
- JPEG parameter settings.
-
- EEXXAAMMPPLLEESS
- This example compresses the PPM file foo.ppm with a qual
- ity factor of 60 and saves the output as foo.jpg:
-
- ccjjppeegg --qquuaalliittyy _6_0 _f_o_o_._p_p_m >> _f_o_o_._j_p_g
-
- HHIINNTTSS
- Color GIF files are not the ideal input for JPEG; JPEG is
- really intended for compressing full-color (24-bit)
- images. In particular, don't try to convert cartoons,
- line drawings, and other images that have only a few dis
- tinct colors. GIF works great on these, JPEG does not.
- If you want to convert a GIF to JPEG, you should experi
- ment with ccjjppeegg's --qquuaalliittyy and --ssmmooootthh options to get a
- satisfactory conversion. --ssmmooootthh 1100 or so is often help
- ful.
-
- Avoid running an image through a series of JPEG
-
-
-
- 30 August 1994 4
-
-
-
-
-
- CJPEG(1) CJPEG(1)
-
-
- compression/decompression cycles. Image quality loss will
- accumulate; after ten or so cycles the image may be
- noticeably worse than it was after one cycle. It's best
- to use a lossless format while manipulating an image, then
- convert to JPEG format when you are ready to file the
- image away.
-
- The --ooppttiimmiizzee option to ccjjppeegg is worth using when you are
- making a "final" version for posting or archiving. It's
- also a win when you are using low quality settings to make
- very small JPEG files; the percentage improvement is often
- a lot more than it is on larger files.
-
- EENNVVIIRROONNMMEENNTT
- JJPPEEGGMMEEMM
- If this environment variable is set, its value is
- the default memory limit. The value is specified
- as described for the --mmaaxxmmeemmoorryy switch. JJPPEEGGMMEEMM
- overrides the default value specified when the pro
- gram was compiled, and itself is overridden by an
- explicit --mmaaxxmmeemmoorryy.
-
- SSEEEE AALLSSOO
- ddjjppeegg(1), rrddjjppggccoomm(1), wwrrjjppggccoomm(1)
- ppppmm(5), ppggmm(5)
- Wallace, Gregory K. "The JPEG Still Picture Compression
- Standard", Communications of the ACM, April 1991 (vol. 34,
- no. 4), pp. 30-44.
-
- AAUUTTHHOORR
- Independent JPEG Group
-
- BBUUGGSS
- Arithmetic coding is not supported for legal reasons.
-
- Not all variants of BMP and Targa file formats are sup
- ported.
-
- The --ttaarrggaa switch is not a bug, it's a feature. (It would
- be a bug if the Targa format designers had not been clue
- less.)
-
- Still not as fast as we'd like.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 30 August 1994 5
-
-
-